From 3733e53c1aee4ab8f64d473fab71d60bd5ff1b05 Mon Sep 17 00:00:00 2001 From: Carlos Garnacho Date: Fri, 11 Dec 2015 13:16:13 +0100 Subject: [PATCH] x11: Use client pointer as default core pointer for gtk+2 API There is no need to fiddle with the master devices list. https://bugzilla.gnome.org/show_bug.cgi?id=759323 --- gdk/x11/gdkdisplay-x11.c | 31 +++---------------------------- 1 file changed, 3 insertions(+), 28 deletions(-) diff --git a/gdk/x11/gdkdisplay-x11.c b/gdk/x11/gdkdisplay-x11.c index 5816d18002..2d04e6c57c 100644 --- a/gdk/x11/gdkdisplay-x11.c +++ b/gdk/x11/gdkdisplay-x11.c @@ -1342,7 +1342,6 @@ gdk_x11_display_init_input (GdkDisplay *display) GdkDeviceManager *device_manager; GdkDevice *device; GList *list, *l; - gint pass; display_x11 = GDK_X11_DISPLAY (display); device_manager = gdk_display_get_device_manager (display); @@ -1365,33 +1364,9 @@ gdk_x11_display_init_input (GdkDisplay *display) g_list_free (list); - /* Now set "core" pointer to the first - * master device that is a pointer, - * preferring mice over touchscreens. - */ - list = gdk_device_manager_list_devices (device_manager, GDK_DEVICE_TYPE_MASTER); - - for (pass = 0; pass < 2; pass++) - { - for (l = list; l; l = l->next) - { - device = l->data; - - if ((pass == 0 && gdk_device_get_source (device) == GDK_SOURCE_MOUSE) || - (pass == 1 && gdk_device_get_source (device) == GDK_SOURCE_TOUCHSCREEN)) - { - display->core_pointer = device; - - /* Add the core pointer to the devices list */ - display_x11->input_devices = g_list_prepend (display_x11->input_devices, - g_object_ref (display->core_pointer)); - goto out; - } - } - } - -out: - g_list_free (list); + display->core_pointer = gdk_device_manager_get_client_pointer (device_manager); + display_x11->input_devices = g_list_prepend (display_x11->input_devices, + g_object_ref (display->core_pointer)); } static void -- 2.30.2